<?php

namespace Mogod\Core\ActiveRecord;

/**
 * Менеджер записей
 *
 * @author goorus, morph
 */
class ActiveRecordManager
{

	/**
	 * Воркер
	 * @var ActiveRecordManagerWorkerAbstract
	 */
	protected $worker;

	/**
	 * Удаляет запись
	 * @param ActiveRecord $ar
	 */
	public function delete($ar)
	{
		$this->worker->delete($ar);
	}

	/**
	 * Возвращает текущий воркер
	 * @return ActiveRecordManagerWorkerAbstract
	 */
	public function getWorker()
	{
		return $this->worker;
	}

	/**
	 * Создает запись
	 * @param ActiveRecord $ar
	 */
	public function insert($ar)
	{
		$this->worker->insert($ar);
	}

	/**
	 * Устанавливает текущий воркер
	 * @param ActiveRecordManagerWorkerAbstract $worker
	 * @return $this
	 */
	public function setWorker($worker)
	{
		$this->worker = $worker;
		return $this;
	}

	/**
	 * Обновление записи
	 * @param ActiveRecord $ar
	 */
	public function update($ar)
	{
		$this->worker->update($ar);
	}

}
